#ifndef __BINTREE__
#define __BINTREE__


/*
struct btNode {
    struct btNode * left;
    struct btNode * right; 
};
typedef struct btNode btNode_t;
*/

struct btNode {
    int data;
    struct btNode * left;
    struct btNode * right; 
};
typedef struct btNode btNode_t;


btNode_t *createNode(int data);
void preOrder(btNode_t *tree);
void inOrder(btNode_t *tree);
void postOrder(btNode_t *tree);
void levelOrder(btNode_t *tree);
btNode_t * search(btNode_t *tree, int key);
void insert(btNode_t *tree, int key);
btNode_t * delete(btNode_t *tree, int key);
int height(btNode_t* tree);
#endif